#ifndef __fsample_H__
#define __fsample_H__

#include <vector>

class fsample
{
public:
  // Default constructor
  fsample();
  // Constructor
  fsample(const std::vector<float>& input, const int& label = -1);
  // Destructor
  virtual ~fsample();

  const std::vector<float>& input() const;
  const float& input(const float& i) const;
  const int& label() const;
  
private:
  // Stores the features
  std::vector<float> input_;
  // Stores the class label
  int label_;
};


fsample::fsample() : label_(-1)
{

}

fsample::fsample(const std::vector<float>& input, const int& label) : input_(input), label_(label)
{

}

fsample::~fsample() 
{ 
  input_.clear(); 
}

const std::vector<float>& fsample::input() const 
{ 
  return input_; 
}

const float& fsample::input(const float& i) const 
{ 
  return input_[i]; 
}

const int& fsample::label() const 
{ 
  return label_; 
}




#endif